<html>
<body>
报告可以安全地替换为 <code>static</code> 内部类的匿名类。
如果某个匿名类没有从周围方法显式引用其封闭实例或局部类，则它可能是 <code>static</code> 内部类。
<p>
<code>static</code> 内部类不保留对其封闭实例的隐式引用。
这可以防止常见的内存泄漏，并减少每个类实例使用的内存。
</p>
<p>
  从 Java 18 开始，只有可序列化的匿名类在不使用此引用的情况下，才保留对其封闭实例的隐式引用。 因此，如果模块语言级别为 Java 18 或更高，则此检查将只报告可序列化的类。
</p>
<p>该快速修复会将匿名类提取到命名的 <code>static</code> 内部类中。</p>
<p><b>示例：</b></p>
<pre><code>
  void sample(){
    Thread thread = new Thread(new Runnable() {
      @Override
      public void run() {
      }
    });
  }
</code></pre>
<p>在应用快速修复后：</p>
<pre><code>
  void sample() {
    Thread thread = new Thread(new Task());
  }

  private static class Task implements Runnable {
    @Override
    public void run() {
    }
  }
</code></pre>
  <!-- tooltip end -->
</body>
</html>